perm filename MUS5IO.FAI[P11,LCS] blob
sn#339416 filedate 1978-03-09 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 ******** THIS IS IRCAM VERSION ******
C00012 ENDMK
Cā;
; ******** THIS IS IRCAM VERSION ******
; MTA1 ITEMS ARE USED WITH "TAPMUS" (ETC.), TAPE TRANSFER PROGS.
TITLE MUS5IO
;; INTERNAL FASTOU,PUTFIL,FINFIL,WRTHD,PACK
INTERNAL FASTOU,PUTFIL,FINFIL,PACK,IFIX,FLOAT
;;; EXTERNAL SBFILN
CH2ā11
IFIX: 0
MOVE 1,@(16)
CAML 1,[244400,,0]
JRST FIX2
CAMG 1,[-<244400,,0>]
JRST FIX3
KIFIX 0,1
JRA 16,1(16)
FIX2: HRLOI 0,377777 ;+ INFINITY
JRA 16,1(16)
FIX3: MOVSI 0,400000 ; - INFINITY
JRA 16,1(16)
; AVOIDS OLD FIX AND FLOAT ROUTINES IN LIB40??
FLOAT: 0
FLTR 0,@(16)
JRA 16,1(16)
DEFINE ERROR (MSG)
< JSA 16,.ERROR
JUMP [ASCIZ/MSG/
]
>
;WRTHD: 0
; USETO CH2,1 ;GO BACK TO WRITE THE HEADER.
; JRA 16,(16)
;; POPJ 17,
;CALL PUTFIL(<FILE>)
PUTFIL: 0
MOVE 0,@0(16)
MOVEM FILNAM
JSA 16,INTFIL
MOVE 0,[SIXBIT/SND/]
MOVEM 0,DIR+1
SETZM DIR+2
SETZM DIR+3
ENTER CH2,DIR
0
;;; MOVE DIR
;;; MOVEM SBFILN
;; POPJ 17,
JRA 16,1(16)
;CALL FASTOUT(<ARRAY>,<NO. OF WORDS>)
FASTOUT: 0
HRRZ 0,0(16)
SUBI 0,1
MOVEM 0,COM
MOVN 0,@1(16)
HRLM 0,COM
OUTPUT CH2,COM
STATZ CH2,740000
0
;; POPJ 17,
JRA 16,2(16)
;CALL FINFIL
FINFIL: 0
CLOSE CH2,0
STATZ CH2,740000
0
RELEASE CH2,0
JRA 16,0(16)
;; POPJ 17,
DIR: BLOCK 4
INTFIL: 0 ;INITS DSK
INIT CH2,17
SIXBIT/DSK/
0
ERROR <CAN'T INIT DSK!>
INTF4: MOVE 0,FILNAM#
MOVEM 0,FN#
MOVE 1,[POINT 7,FN]
INTF3: MOVE 2,[POINT 6,DIR]
SETZM DIR
MOVEI 3,5
INTF1: ILDB 0,1
CAIN 0," "
JRST INTF2
SUBI 0,40
IDPB 0,2
SOJG 3,INTF1
INTF2: JRA 16,0(16)
COM: OCT 0,0
COM1: 0
BLKNUM: 0
.ERROR: 0
OUTSTR [ASCIZ/?
/] ;MAKE SURE HE CAN SEE HIS ERROR
OUTSTR @(16) ;OUTPUT ERROR MESSAGE
CALLI 1,12 ;LET USER CONTINUE
JRA 16,1(16)
;;CALL PACK(PW,AR)
PACK: 0
HRRZ 4,1(16) ; ******* USES AC'S 4,5,6 ********
;;???? MOVE 4,@4
ADDI 4,2
HRR 5,@4 ;SIZE IS 12 BITS
LSHC 5,-14
SOJ 4,
HRR 5,@4
LSHC 5,-14
SOJ 4,
HRR 5,@4
LSHC 5,-14
MOVEM 6,@0(16)
;; POPJ 17,
JRA 16,2(16)
END